﻿using System;
using WindowsGame.Common;
using WindowsGame.Common.Library.Interfaces;
using WindowsGame.Common.Library.IoC;
using WindowsGame.Common.Managers;
using WindowsGame.Common.Static;
using WindowsGame.Common.TheGame;
using WindowsGame.SystemTests.Implementation;
using NUnit.Framework;

namespace WindowsGame.SystemTests
{
	public class BaseSystemTests
	{
		protected IConfigManager ConfigManager;
		protected IFileManager FileManager;

		// mklink /D C:\SnakeDemo.XNA.Content C:\WINDOWSGAME\BIN\X86\DEBUG\
		protected const String CONTENT_ROOT = @"C:\SnakeDemo.XNA.Content\";

#pragma warning disable 618
		[TestFixtureSetUp]
#pragma warning restore 618
		public void TestFixtureSetUp()
		{
			Registration.Initialize();
			IoCContainer.Initialize<IFileProxy, TestFileProxy>();

			IGameManager manager = GameFactory.Resolve();
			MyGame.Construct(manager);
		}


#pragma warning disable 618
		[TestFixtureTearDown]
#pragma warning restore 618
		public void TestFixtureTearDown()
		{
			GameFactory.Release();
		}
	}

}